﻿/******************************************************************* 
* Copyright (C)  版权所有
* 创建时间:2019/4/29 15:12:12
* 作    者: zhenhua.shen
* 邮    箱：1025556487@qq.com
* 描    述：类功能描述
* 修改记录:修改类的记录
* 修改人:修改此类的人名称
* 版 本 号:v1.0.0
**********************************************************************/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using ECharts.Utility;
using Newtonsoft.Json;

namespace ECharts.Tooltip
{
    /// <summary>
    /// 提示框，鼠标悬浮交互时的信息提示
    /// </summary>
    [Serializable]
    [TypeConverter(typeof(ExpandableObjectConverter))]
    [JsonConverter(typeof(NoTypeConverter<Tooltip>))]
    public class Tooltip
    {
        private bool _show = true;
        /// <summary>
        /// 是否显示
        /// </summary>
        [Description("是否显示")]
        [NotifyParentProperty(true)]
        public bool show
        {
            get
            {
                return _show;
            }
            set
            {
                _show = value;
            }
        }


        private int _zlevel = 0;
        /// <summary>
        /// 一级层叠控制。每一个不同的zlevel将产生一个独立的canvas，相同zlevel的组件或图标将在同一个canvas上渲染。zlevel越高越靠顶层，canvas对象增多会消耗更多的内存和性能，并不建议设置过多的zlevel，大部分情况可以通过二级层叠控制z实现层叠控制。
        /// </summary>
        [Description("一级层叠控制。每一个不同的zlevel将产生一个独立的canvas，相同zlevel的组件或图标将在同一个canvas上渲染。zlevel越高越靠顶层，canvas对象增多会消耗更多的内存和性能，并不建议设置过多的zlevel，大部分情况可以通过二级层叠控制z实现层叠控制。")]
        public int zlevel
        {
            get
            {
                return _zlevel;
            }
            set
            {
                _zlevel = value;
            }
        }


        private int _z = 0;
        /// <summary>
        /// 二级层叠控制，同一个canvas（相同zlevel）上z越高约靠顶层
        /// </summary>
        [Description("二级层叠控制，同一个canvas（相同zlevel）上z越高约靠顶层")]
        public int z
        {
            get
            {
                return _z;
            }
            set
            {
                _z = value;
            }
        }


        private string _trigger = "item";
        /// <summary>
        /// 触发类型，默认数据触发(item),可选为：'item' | 'axis'
        /// </summary>
        public string trigger 
        {
            get
            {
                return _trigger;
            }
            set
            {
                _trigger = value;
            }
        }
    }
}
